package com.mmall.util;

import java.math.BigDecimal;

/**
 * @CLASS BigDecimalUtil
 * @DESCRIPTION TODO
 * @AUTHor tang
 * @Date 2019-08-15 10:47
 * @VERSION 1.0
 **/
public class BigDecimalUtil {
    private BigDecimalUtil(){

    }

    /**
     * 加法
     * @param v1
     * @param v2
     * @return
     */
    public static BigDecimal add(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.add(b2);
    }

    /**
     * 减法
     * @param v1
     * @param v2
     * @return
     */
    public static BigDecimal sub(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.subtract(b2);
    }

    /**
     * 乘法
     * @param v1
     * @param v2
     * @return
     */
    public static BigDecimal mul(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        return b1.multiply(b2);
    }

    /**
     * 除法
     * @param v1
     * @param v2
     * @return
     */
    public static BigDecimal div(double v1,double v2){
        BigDecimal b1 = new BigDecimal(Double.toString(v1));
        BigDecimal b2 = new BigDecimal(Double.toString(v2));
        // BigDecimal.ROUND_HALF_UP 四舍五入 （保留2未小数）
        // ROUND_UP （向上加1）
        // ROUND_DOWN （截断）
        // ROUND_HALF_DOWN （五舍六入）
        return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);
    }


}
